<?php
// 初始内存
define('YP_MEM_PATH',memory_get_usage());

// 框架版本
define('YP_VERSION', '1.0.2');

// 初始时间
define('YP_TIME',$_SERVER['REQUEST_TIME']);
define('YP_START',microtime(true));

// 目录分隔符
define('DS',DIRECTORY_SEPARATOR);

// 框架根目录
define('YP',__DIR__ . DS);
// 核心目录
define('CORE', YP . 'core' . DS);

// 站点根目录
define('ROOT_PATH',dirname(YP).DS);

// 公共文件目录
define('PUBLIC',ROOT_PATH . DS . 'public' . DS);

// 应用目录
define('APP_PATH',ROOT_PATH . 'application' . DS);
define('MODEL',APP_PATH . 'model' . DS);
define('CONTROLLER',APP_PATH . 'controller' . DS);
define('VIEW',APP_PATH . 'view' . DS);
define('CONFIG',APP_PATH . 'config' . DS);
define('ROUTE',APP_PATH . 'route' . DS);
define('APP_SESSION',APP_PATH . 'session' . DS);

// 缓存目录
define('CACHE_PATH',ROOT_PATH . 'runtime' . DS);
define('CACHE_LOG_PATH',CACHE_PATH . 'log' . DS);
define('CACHE_COMPILE_PATH',CACHE_PATH . 'compile' . DS);
define('CACHE_ERROR_PATH',CACHE_PATH . 'error' . DS);
define('CACHE_ROUTE_PATH',CACHE_PATH . 'route' . DS);
define('CACHE_SQL_PATH',CACHE_PATH . 'sql' . DS);
define('CACHE_HTML_PATH',CACHE_PATH . 'html' . DS);


// 引入核心文件
include CORE.'Yphp.php';

// 自动加载composer类库
\yphp\Yphp::loadfile(ROOT_PATH.'vendor'.DS.'autoload.php');

// 自动加载核心类
spl_autoload_register('\yphp\Yphp::load');

// 错误处理
ini_set('display_errors','Off');
set_error_handler('\yphp\Yphp::error');
register_shutdown_function('\yphp\Yphp::fatal');
set_exception_handler('\yphp\Yphp::exception');

// 框架初始化
\yphp\Yphp::init();